valtio基于Proxy代理比redux\zustand更简洁的react状态管理库 Valtio基于Proxy实现响应式状态管理,当状态发生变化时,能够自动触发组件的重新渲染。
而Redux需要手动触发dispatcher通知其它组件状态变化,通过创建actions、reducers和store,并结合react-redux库使用Provider、connect/useSelector、useDispatch等,相对繁琐。
React结合vite使用vue3,在纯typescript的react hooks中使用vue 在React中使用vue的前题是,整个react组件只能渲染一次,这样vue绑定的事件才不会被多次渲染冲掉。
React中的StrictMode会调用函数组件两次,保证其为纯函数。可以先把这个模式禁掉,或采用其它方法,保证vue只渲染一次。
React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed React Native 的网络层(基于 RCTNetworking 或底层的 OkHttp、NSURLSession 等)默认不暴露 Set-Cookie 给 JavaScript 层。这是出于安全考虑。对于原生Android应用也通常有同样的限制。从 Android 9(API 级别 28)开始,默认情况下,Android 应用是不允许使用明文网络流量的。这意味着,如果你的应用尝试通过 HTTP 而非 HTTPS 发送或接收数据,应用将会失败。
克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法 Redux是内存中的状态存储,每次状态更新都会返回新的状态对象,这可能会导致内存的过度使用。其内存占用高,性能差。因此更加不适合在 React Native 中使用。
Redux采用全局状态管理,但更多时侯,我们可能只需要一个用于组件间通信的消息中间件,dispatch 触发的状态,并不需要集中存储。使用Redux可能会显得繁重和冗余。
我们可以通过 PubSubJS 使用类似消息中间件(发布、订阅)的方法来管理组件间的通信和数据的传递,其本身并不存储状态和处理状态变化,流程大概如下: